<?php
require_once ROOT_PATH.'lib/ctl/Control.class.php';
require_once ROOT_PATH.'lib/util/render_util.php';
/**
 * 渲染conf的var为html select 的option列表，其中var 的key为option的value，var的value为option的caption。
 * <br/>$options数组：
 * <br/>var_key : 		conf的var的key，如app.cookie.cookie。
 * <br/>sel_key : 		select框开始选择的key，如果没有设置或不在 var之中，不选择。
 * <br/>null_caption : 	设置未选择的caption，如果没有设置，表示不需要未选择项，如果设置其对应的value为null，且为第一项，未选择的caption如：<请选择>。
 */
class conf_select_option extends Control{
	function render($clazz,$id,array $options){
		$conf=$GLOBALS['context']->conf;
		if(! $conf || ! isset($options['var_key'])) return;
		$var_key=$options['var_key'];
		$data=$conf->get_var($var_key);
		if(! $data) return;
		$sel_key= isset($options['sel_key'])? $options['sel_key'] :NULL;
		$null_caption=isset($options['null_caption']) ? $options['null_caption'] :NULL;	
		echo get_select_option($data,$sel_key,$null_caption);
	}
	function do_get_data(array & $request,array & $response,array & $app){
		$conf=$GLOBALS['context']->conf;
		if(! $conf || ! isset($request['var_key'])) exit;	
		$var_key=$request['var_key'];
		$data=$conf->get_var($var_key);
		if(! $data) exit;	
		if($app['fmt']=='html'){
			$sel_key= isset($request['sel_key'])? $request['sel_key'] :NULL;
			$null_caption=isset($request['null_caption']) ? $request['null_caption'] :NULL;				
			echo get_select_option($data,$sel_key,$null_caption);
			exit;
		}else $response['data']=$data;
		
	}
}